import  java.util.*;
//head==null，或者只有一个结点必定无环
//判断链表是否有环，可以用set，遍历并存储链表
//set不能存储重复的结点，如果存储失败，说明存到同一个结点，说明有环
//如果能够存储到全部不重复，无环
public class Solution {
    public boolean hasCycle(ListNode head) {

        if(head==null||head.next==null){
            return false;
        }
        ListNode cur=head;
        Set<ListNode> set=new HashSet<>();
        while(cur!=null){
            if(!set.add(cur)){
                return true;
            }
            cur=cur.next;
        }
        return false;
    }
}